<?php
/**
 * Description of RespostaService
 *
 * @author Magno
 */
class RespostaService {


    private $respostaDAO;
    function __construct() {
        $this->respostaDAO = new RespostaDAO();
    }


    public function salvar($resposta) {

        try {
            return $this->respostaDAO->salvar($resposta);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }

    }

    public function excluir($respostaID) {

        try {
            if(!isset ($respostaID) || $respostaID <= 0)
                throw new Exception("Codigo da Resposta Nao Econtrado!!!");

            $this->respostaDAO->excluir($respostaID);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }

    }

    public function listar($pagina = 0,$descricao = "", $enqueteID = 0, $carregarDependencias = false) {
        try {
            return $this->respostaDAO->listar($pagina, $descricao, $enqueteID, $carregarDependencias);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }
    }

    public function listarPorOrdem($pagina = 0, $tamanho = 0, $ordem = "respostaID", $direcao = "DESC") {
        try {
            return $this->respostaDAO->listarPorOrdem($pagina, $tamanho, $ordem, $direcao);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }
    }

    public function buscarPorID($respostaID, $carregarDependencias = false) {
        try {
            if(!isset ($respostaID) || $respostaID <= 0)
                throw new Exception("Codigo da Resposta Nao Econtrado!!!");
            return $this->respostaDAO->buscarPorID($respostaID, $carregarDependencias);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }
    }

    public function total($descricao = "",$enqueteID = 0) {
        try {
            return $this->respostaDAO->total($descricao, $enqueteID);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }
    }
}
?>
